package com.example.stock.service;

import com.example.stock.comm.FreqEnum;
import com.example.stock.comm.StrategyEnum;
import com.example.stock.comm.TranEnum;
import com.example.stock.entity.eo.StockTradeEo;
import com.example.stock.vo.DataVo;
import com.example.stock.vo.ScoreVo;
import com.example.stock.vo.common.TradeVo;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

public interface IServiceTrade {

    Map<String, List<StockTradeEo>> doMultiTrade(Map<String, List<TradeVo>> tradeVoMap, TranEnum tran, LocalDateTime startTime, int more);

    List<StockTradeEo> doTradeOne(List<TradeVo> tradeVos, String tsCode, TranEnum tran, LocalDateTime startTime, int more, double initMoney);

    List<StockTradeEo> combineTrade(Map<String, List<StockTradeEo>> doTradeMap);

    ScoreVo compose(String compose, String freq, Double firstIndex, LocalDateTime startTime, LocalDateTime endTime);


    Double doMultiTradeComp(Map<String, List<TradeVo>> calcTradeMap, TranEnum tran, LocalDateTime startTime, int more);

    Double doMultiTradeCompA(Map<String, List<TradeVo>> calcTradeMap, TranEnum tran, LocalDateTime startTime, int more, int i);

}
